//! 生命周期循环事件

/// 生命周期循环事件
///
/// 此类事件永远不会被加入事件栈中
#[derive(Debug, PartialEq)]
pub enum LifeCycle {
    /// 即将开始查找事件委托器，即将取出一个事件
    Start,

    /// 即将开始查找事件委托器，已经取出一个事件
    Seek,

    /// 查找到事件委托器，事件即将入栈
    Doing,

    /// 完成一次事件循环，事件已经入栈
    Done,

    /// 结束一次循环，即将重新开始
    Complete,

    /// 退出游戏之前
    Stop,
}

impl Into<super::Event> for LifeCycle {
    fn into(self) -> super::Event {
        super::Event::LifeCycle(self)
    }
}
